package com.itbaizhan;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/*获取请求信息*/
public class GetRequestInfoServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取浏览器发出请求的完整的URL   getRequestURL()返回的是StringBuff 要用toString()才返回String类型
        String requestURL = req.getRequestURL().toString();
        //获取发送请求行中指定资源部分
        String requestURI = req.getRequestURI();
        //获取发送请求的客户端IP地址
        String remoteAddr =req.getRemoteAddr();
        //返回web服务器IP地址
        String servletAddr = req.getLocalAddr();
        //获取服务端监听端口
        int port = req.getLocalPort();

        //响应客服端resp,返回浏览器输出
        PrintWriter pw =resp.getWriter();
        pw.println("requestURL"+" "+requestURL);
        pw.println("requestURI"+" "+requestURI);
        pw.println("remoteAddr"+" "+remoteAddr);
        pw.println("servletAddr"+" "+servletAddr);
        pw.println("port"+" "+port);
    }
}
/*HttpServletRequest对象
HttpServletRequest对象代表客户端浏览器的请求，
当客户端浏览器通过HTTP协议访问服务器时，
HTTP请求中的所有信息都会被Tomcat所解析并封装在这个对象中，
通过这个对象提供的方法，可以获得客户端请求的所有信息。

获取请求信息
req.getRequestURL()

返回客户端浏览器发出请求时的完整URL。


req.getRequestURI()

返回请求行中指定资源部分。


req.getRemoteAddr()

返回发出请求的客户机的IP地址。


req.getLocalAddr()

返回WEB服务器的IP地址。


req.getLocalPort()

返回WEB服务器处理Http协议的连接器所监听的端口。*/